package com.sushengren.easyword;

import com.sushengren.easyword.annotation.WordProperty;
import lombok.Builder;
import lombok.Data;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 * @author sushengren
 */
public class Ber1 {

    @Data
    @Builder
    public static class DataDTO {
        private String planName;
        private String lastDays;
        private String lastWaters;
        private String thisDays;
        private String thisWaters;
        private String realWaterLevel;
        private String availableWaterSupply;
        private String waterStorageRate;
        @WordProperty("一")
        private List<DateItemDTO> item;
        private String message;
    }

    @Data
    @Builder
    public static class DateItemDTO {
        @WordProperty("序号")
        private String a0;
        @WordProperty("名称")
        private String a1;
        @WordProperty("日期")
        private String a2;
        @WordProperty("开启时间")
        private String a3;
    }

    public static void main(String[] args) throws IOException {
        List<DateItemDTO> item = new ArrayList<>();
        item.add(DateItemDTO.builder().a0("1").a1("名称1").a2("日期1").a3("开启时间1").build());
        item.add(DateItemDTO.builder().a0("2").a1("名称2").a2("日期2").a3("开启时间2").build());
        item.add(DateItemDTO.builder().a0("3").a1("名称3").a2("日期3").a3("开启时间3").build());
        item.add(DateItemDTO.builder().a0("4").build());
        item.add(DateItemDTO.builder().a0("5").build());
        item.add(DateItemDTO.builder().a0("6").build());
        item.add(DateItemDTO.builder().a0("7").build());
        item.add(DateItemDTO.builder().a0("8").build());
        item.add(DateItemDTO.builder().a0("9").build());
        item.add(DateItemDTO.builder().a0("0").build());
        DataDTO dataDTO = DataDTO.builder()
                .planName("XXX计划")
                .lastDays("5")
                .lastWaters("3")
                .thisDays("6")
                .thisWaters("4")
                .realWaterLevel("10")
                .availableWaterSupply("200")
                .waterStorageRate("80")
                .item(item)
                .message("第一行\n第二行\n第三行")
                .build();
        File file = new File("C:\\Users\\mangfu\\Desktop\\导出模板.docx");
        FileOutputStream out = new FileOutputStream("C:\\Users\\mangfu\\Desktop\\导出模板-1.docx");
        EasyWord.of(file).doWrite(dataDTO).toOutputStream(out);
    }

}
